package model.insigniaYlogros;

import java.util.ArrayList;
import java.util.List;

import model.Usuario.UsuarioRegistrado;


public  class InsigniaSimple extends Insignia {
	
	private List<Logro> logros;
	
	public InsigniaSimple(String nombre,Logro...logros) {
		super(nombre);
		this.logros=new ArrayList<Logro>();
		for(int i=0;i<logros.length;i++)
		{
			this.logros.add(logros[i]);
		}
	}

	@Override
	public <E> boolean seCumple(E elemento) {
		boolean cumple=true;
		for(Logro l:logros)
		{
			cumple=cumple & l.seCumple(elemento);
		}
		return cumple;
	}

	@Override
	public List<Logro> getLogrosRestantePara(UsuarioRegistrado usuario) {
		List<Logro> logrosRest=new ArrayList<Logro>();
		for(Logro l:logros)
		{
			if(!l.seCumple(usuario))
			{
				logrosRest.add(l);
			}
		}
		return logrosRest;
	}

	@Override
	public List<Logro> getLogrosConseguidosPara(UsuarioRegistrado usuario) {
		
		List<Logro> logrosCump=new ArrayList<Logro>();
		for(Logro l:logros)
		{
			if(l.seCumple(usuario))
			{
				logrosCump.add(l);
			}
		}
		return logrosCump;
	}
	
	

}
